// 该文件主要用于：创建一个store，并管理三个“手下人”
import Vue from 'vue'
import vuex from 'vuex'
import axios from 'axios'

//使用vuex插件
Vue.use(vuex)

// 创建一个store
const store = new vuex.Store({
	actions:{
		//下面的jia和jian属于：没有意义的action
		//用于处理【加】的服务员
		/* jia({commit},value){
			commit('JIA',value)
		},
		//用于处理【减】的服务员
		jian({commit},value){
			commit('JIAN',value)
		}, */
		//用于处理【奇数再加】的服务员
		jiaOdd({commit,state},value){
			if(state.sum % 2){
				commit('JIA',value)
			}
		},
		//用于处理【等一等加】的服务员
		jiaWait({commit},value){
			setTimeout(()=>{
				commit('JIA',value)
			},500)
		},
		//用于处理【服务器加】的服务员
		async jiaServer({commit}){
			let result = await axios.get('https://api.uixsj.cn/hitokoto/get?type=social')
			alert(result.data)
			commit('JIA',result.data.length)
		}
	},
	mutations:{
		// 用于处理【加】的厨师
		JIA(state,value){
			console.log('厨师---JIA函数被调用了')
			//操作state中对应的数据
			state.sum += value
		},
		// 用于处理【减】的厨师
		JIAN(state,value){
			console.log('厨师---JIAN函数被调用了')
			//操作state中对应的数据
			state.sum -= value
		}
	},
	//初识数据
	state:{
		sum:1, //当前的和
		school:'尚硅谷',
		subject:'前端', 
		address:'宏福科技园'
	},
	getters:{
		bigSum(state){
			return state.sum * 10
		}
	}
})

//暴露store
export default store